using System;
using System.Collections.Generic;
using System.Globalization;

namespace Locator.LcboServices.BusinessEntities
{
    /// <summary>
    /// 
    /// </summary>
    public class LcboStoreInformation
    {
        /// <summary>
        /// Initializes a new instance of the <see cref="LcboStoreInformation"/> class.
        /// </summary>
        public LcboStoreInformation()
        {
            this.Hours = new Dictionary<string, string>();
        }

        /// <summary>
        /// Gets or sets the address line.
        /// </summary>
        /// <value>The address line.</value>
        public string AddressLine { get; set; }

        /// <summary>
        /// Gets or sets the city.
        /// </summary>
        /// <value>The city.</value>
        public string City { get; set; }

        /// <summary>
        /// Gets the civic address.
        /// </summary>
        /// <value>The civic address.</value>
        public string CivicAddress
        {
            get { return String.Format(CultureInfo.CurrentCulture, "{0} {1} ON", this.AddressLine, this.City); }
        }

        /// <summary>
        /// Gets or sets the store number.
        /// </summary>
        /// <value>
        /// The store number.
        /// </value>
        public int StoreNumber { get; set; }

        /// <summary>
        /// Gets the hours.
        /// </summary>
        public Dictionary<string, string> Hours { get; private set; }

        /// <summary>
        /// Gets or sets the telephone number.
        /// </summary>
        /// <value>
        /// The telephone number.
        /// </value>
        public string TelephoneNumber { get; set; }

        /// <summary>
        /// Gets or sets the latitude.
        /// </summary>
        /// <value>
        /// The latitude.
        /// </value>
        public decimal? Latitude { get; set; }

        /// <summary>
        /// Gets or sets the longitude.
        /// </summary>
        /// <value>
        /// The longitude.
        /// </value>
        public decimal? Longitude { get; set; }
    }
}
